package com.atguigu.spring5_webflux.service;

import com.atguigu.spring5_webflux.entity.User;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface UserService {

    /**
     * 根据id查询用户
     * Reactor 中 Mono对象只能返回0(null)或1个元素
     * @param id
     * @return
     */
    Mono<User> getUserById(int id);

    /**
     * 查询所有用户
     * Reactor 中 Flux对象能够返回0-n个元素
     * @return
     */
    Flux<User> getAllUser();

    /**
     * 添加用户
     * @param user
     * @return
     */
    Mono<Void> saveUserInfo(Mono<User> user);
}
